// 导入 request 请求函数
import request from '@/utils/request'

// 重新导入 axios
import axios from 'axios'

// 导入 store 实例
import store from '@/store'

// 登录
export const loginAPI = (loginForm) => {
  // 注意：这里的return必须加
  return request({
    method: 'post',
    url: '/v1_0/authorizations',
    data: loginForm
  })
}

// 获取用户个人信息
export const getUserInfoAPI = () => {
  return request({
    method: 'get',
    url: '/v1_0/user'
  })
}

// 获取用户基本资料
export const getUserProfileAPI = () => {
  return request({
    method: 'get',
    url: '/v1_0/user/profile'
  })
}

// 更新用户头像
export const updatePhotoAPI = (formData) => {
  return request({
    method: 'patch',
    url: '/v1_0/user/photo',
    data: formData
  })
}

// 更新用户资料
export const updateProfileAPI = (userObj) => {
  return request({
    method: 'patch',
    url: '/v1_0/user/profile',
    data: userObj
  })
}

// 用refreshToken获取新的token
export const updateTokenAPI = () => {
  // 这里用的是axios发请求，而不是request
  // 因为如果用了request发请求了，会触发请求拦截器，会给后台携带一个无效的token
  // 这里需要把refershToken带给后台
  return axios({
    method: 'put',
    // 这里的url需要写完整地址，原因是只给request配置了基地址
    url: 'https://toutiao.itheima.net/v1_0/authorizations',
    // 请求头传参数
    headers: {
      Authorization: `Bearer ${store.state.user.refreshToken}`
    }
  })
}
